package com.cskaoyan.javase.oop3._2inner._3local._0introduction;

/**
 * 局部内部类
 * 局部内部类是定义在一个方法或者一个作用域(定义在局部位置)里面的类
 * 简单来说，将局部内部类看成是局部变量即可，该类的有效范围仅在作用域内部。
 * （这意味着要创建它的对象，必须在作用域内部创建,离开作用域是无法创建的）
 *
 * 从语法和具体使用上看，局部内部类和成员内部类很相似，有点类似于直接把一个成员内部类放进局部位置，语法是：
 *
 * // 局部位置
 * class Inner{
 *
 * }
 * // 局部位置
 *
 * 局部内部类的自身特点
 * 主要从以下几个角度分析：
 *      1.访问权限修饰符
 *          不需要访问权限修饰符
 *          因为已经被大括号限制了作用范围
 *          除此之外,它也不能被static修饰
 *
 *      2.成员特点
 *          局部内部类的成员特点,和成员内部类完全一样
 *          没有静态声明
 *
 *      3.继承和实现(重点)
 *          可以继承,可以实现
 *          这其实是局部内部类的主要用途
 *
 * @since 11:44
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Demo {
}

class EnclosedClazz {
    public void test() {
        // 外围类成员方法中的局部内部类
        class Inner {
            int a;
            private int b = 10;
            static final int C = 20;
            // static int c = 20;
            // static void testStatic(){}
            void test() {
            }
        }
    }
}